package com.ldu.houserent.controller.backend;

import com.ldu.houserent.common.base.BaseController;
import com.ldu.houserent.service.ChartsService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * 后台 数据可视化 控制器
 */
@Controller("backChartsController")
@RequestMapping("/admin/charts")
public class ChartsController extends BaseController {

    @Autowired
    private ChartsService chartsService;

    /*
        房源数量
     */
    @RequestMapping("")
    public String getHouseNumCharts(Model model){
        /*
            不同城市的房源数量
         */
        //创建Map集合保存数据
        //Map<String,Object> dataMap = new HashMap<String,Object>();
        //调用统计房源数量的方法
        List<Map> mapList = chartsService.findHouseNumByCity();
        //创建两个List集合，分别保存城市及对应的房源数量
        List<String> keyList = new ArrayList<String>();
        List<Integer> valueList = new ArrayList<Integer>();
        //循环遍历每个城市房源数量集合
        for (Map map : mapList){
            keyList.add(map.get("citys").toString());        //城市
            valueList.add(Integer.valueOf(map.get("number").toString()));   //数量
        }
        //dataMap.put("keyList",keyList);
        //dataMap.put("valueList",valueList);
        model.addAttribute("keyList",keyList);
        model.addAttribute("valueList",valueList);

        /*
            不同出租类型的房源数量
         */
        //创建Map集合保存数据
        //Map<String,Object> dataMap1 = new HashMap<String,Object>();
        //调用统计房源数量的方法
        List<Map> mapList1 = chartsService.findHouseNumByRentType();
        //创建两个List集合，分别保存城市及对应的房源数量
        List<String> keyList1 = new ArrayList<String>();
        List<Integer> valueList1 = new ArrayList<Integer>();
        //循环遍历每个城市房源数量集合
        for (Map map : mapList1){
            keyList1.add(map.get("rentType").toString());        //城市
            valueList1.add(Integer.valueOf(map.get("number").toString()));   //数量
        }
        //dataMap1.put("keyList",keyList1);
        //dataMap1.put("valueList",valueList1);
        model.addAttribute("keyList1",keyList1);
        model.addAttribute("valueList1",valueList1);
        model.addAttribute("tab", "echarts");         //鼠标点击后，改变页面中的字体颜色样式
        return "admin/echarts";
    }

}
